package com.farben.system.domain;

import java.util.Date;

import com.farben.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.farben.common.annotation.Excel;
import lombok.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 适老化对象 aging_design_config_info
 * 
 * @author farben
 * @date 2023-05-16
 */

@EqualsAndHashCode(callSuper = true)
@Data
@With
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AgingDesignConfigInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 应用id */
    private String appId;

    /** 子系统id */
    private String systemId;

    /** 子系统名称 */
    private String systemName;

    /** app名称 */
    private String appName;

    /** 页面id */
    private String pageId;

    /** 页面名称 */
    @Excel(name = "页面名称")
    private String pageName;

    /** app key */
    private String appKey;

    /** url */
    @Excel(name = "url")
    private String url;

    /** 文件名 */
    @Excel(name = "文件名")
    private String fileName;

    /** 版本号 */
    private Long version;

    /** 文件内容 */
    @Excel(name = "文件内容")
    private String fileContent;

    /** 上传路径 */
    @Excel(name = "上传路径")
    private String uploadPath;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdDate;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedDate;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updatedBy;

    /** 是否有配置，0未配置，1有配置 */
    @Excel(name = "是否有配置，0未配置，1有配置")
    private String isHaveConfig;

    /** 是否上传，0未上传，1已上传 */
    @Excel(name = "是否上传，0未上传，1已上传")
    private String uploadFlag;

    /** 是否确认过，0未确认，1已确认 */
    @Excel(name = "是否确认过，0未确认，1已确认")
    private String confirmFlag;

    /** 发布内容 */
    @Excel(name = "发布内容")
    private String publishText;

    /** 生产人姓名 */
    @Excel(name = "生产人姓名")
    private String createdName;

    /** 修改人姓名 */
    @Excel(name = "修改人姓名")
    private String updatedName;

    /** 业务线 */
    @Excel(name = "业务线")
    private String businessLine;

    /** 业务对接人 */
    @Excel(name = "业务对接人")
    private String businessContactPerson;

    /** 测试结果 */
    @Excel(name = "测试结果")
    private String testResult;

    /** 页面描述 */
    @Excel(name = "页面描述")
    private String pageDescription;

    /** 离线包url */
    @Excel(name = "离线包url")
    private String offlineUrl;

    /** 离线包名 */
    @Excel(name = "离线包名")
    private String offline;

    /** 文本 */
    private String text;

    private String confirm;

    /** 适老化类型 0-语音 1-大字 */
    @Excel(name = "适老化类型 0-语音 1-大字")
    private String agingDesignType;

    /** 豁免状态 0-未豁免 1-已豁免*/
    @Excel(name = "豁免状态 0-未豁免 1-已豁免")
    private String exemptionStatus;

    /** 发布状态 0-未发布 1-发布测试 2-发布生产*/
    @Excel(name = "发布状态 0-未发布 1-发布测试 2-发布生产")
    private String publishStatus;

    private Date minTime;

    private Date maxTime;

    private int timeType;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("appId", getAppId())
            .append("systemId", getSystemId())
            .append("systemName", getSystemName())
            .append("appName", getAppName())
            .append("pageId", getPageId())
            .append("pageName", getPageName())
            .append("appKey", getAppKey())
            .append("url", getUrl())
            .append("fileName", getFileName())
            .append("version", getVersion())
            .append("fileContent", getFileContent())
            .append("uploadPath", getUploadPath())
            .append("createdDate", getCreatedDate())
            .append("updatedDate", getUpdatedDate())
            .append("createdBy", getCreatedBy())
            .append("updatedBy", getUpdatedBy())
            .append("isHaveConfig", getIsHaveConfig())
            .append("uploadFlag", getUploadFlag())
            .append("confirmFlag", getConfirmFlag())
            .append("publishText", getPublishText())
            .append("createdName", getCreatedName())
            .append("updatedName", getUpdatedName())
            .append("businessLine", getBusinessLine())
            .append("businessContactPerson", getBusinessContactPerson())
            .append("testResult", getTestResult())
            .append("pageDescription", getPageDescription())
            .append("offlineUrl", getOfflineUrl())
            .append("offline", getOffline())
            .append("text", getOffline())
            .append("agingDesignType", getOffline())
            .append("confirm", getOffline())
            .append("exemptionStatus", getOffline())
            .toString();
    }
}
